1. Field of the Invention
The present invention relates generally to the field of database application programming and more specifically to a framework for creating database applications.
2. Discussion of the Prior Art
Database applications used in organization can be broadly categorized into two kinds. There are those custom written to tailor to the needs of an organization. And then there are those that are existing packages available in the market written for particular industries. The former will suit the needs of the organization but will generally involve substantial development cost and time. The latter will be more affordable but generally will not be able to adapt totally to the needs of an organization. These kinds of pre-package software however, are fairly common. The most common type of these applications is probably general accounting and management program. Examples are Peach Tree, Quick Books, Microsoft Great Plains, epicor . . . to name a few. These accounting programs are good for their purpose but are generally inadequate to meet the need of the whole organization. The problem with these kinds of accounting programs is that it has limited capability to be customized and it is difficult if not impossible to integrate with other applications. Since accounting is but only one aspect of the business functions needed in an organization, these general accounting program cannot address all the data management needs of an organization. An organization that uses a disparage number of programs that are unable to communicate with each other will be inefficient. To overcome this limitation, many of these accounting packages supplement their programs with different modules. Using Great Plains as an example, besides their core modules, Great Plains offer a variety of ‘series’ geared towards different industries (such as the distribution series, manufacturing series, project series . . . etc.) Other software packages that offer a suite of modules include Microsoft Solomon, Best, epicor and Oracle E-Business Suite . . . etc.
The ability of a database application to integrate all the business function of an organization is beneficial and hence many database applications provide some sort of customization ability. For e.g. The Mas90, Mas200 and Mas500 of Best software provide a ‘Customizer’, allowing a user to customize the application to a certain extent. In the case of Microsoft Solomon, provision of customization is achieved using a ‘Customization Manager’. Similar to the ‘Customizer’ in Mas 90, 200 and 500, the ‘Customization Manager’ provides only a limited degree of customization such as adding simple control such as textbox or changes some appearance settings. There are, however, other softwares that provide customization by exposing the customization to a programming language like VBA (Visual Basic for Application). Examples are Microsoft Great Plains, Microsoft Solomon and epicor. epicor provides a ‘Visual Forms Designer’ coupled with a ‘Customization Workbench’ for customization. Conceivably, this approach can produce more sophisticated customizations with respect to the custom functions and features, due to the versatility of the programming language. It does not, however, have enough capabilities to create or modify an entire application using just the tools of these applications, such as ‘Customizer’, ‘Customization Manager’ or ‘Customization Workbench’ . . . etc. This provision of customization only marginally increases the adaptability of the application because it does not address the nature of its inflexibility in a fundamental way; namely, the core functions and features of these applications are hard coded.
Another characteristic of these programs is the way data are organized and presents to a user. These database applications share a general approach in their data management in that the organization has no relevance to everyday common experience in relation to a traditional office environment that use paper document, folders and file cabinet. This lack of correlation to a real life experience means that each of these programs have its own unique way of grouping data and its own unique way to access them. As a result, users of these programs will need to spend time to gain the necessary fluency to perform many of the common tasks needed in a data management program, such as the knowledge in how to ‘drill down’ or ‘drill around’ to navigate to the right document location.
The above discussion shows that there are certain areas in existing database applications software available in the market that can be improved on. This framework will address these shortcomings.